home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / extremeintro.lha / demo.s3 < prev    next >
Encoding:
Text File  |  1980-01-01  |  22.6 KB  |  1,128 lines

  1.     section andy,code_c
  2.     opt c-
  3.  
  4.     incdir    df1:
  5.  
  6.     *************************
  7.     * Setup V2.1 Rev.3/3/90 *
  8.     *************************
  9.  
  10. startlist1    equ    38
  11. startlist2    equ    50
  12.  
  13. T        equ    255
  14. B        equ    254
  15. S        equ    253
  16.  
  17. pooo:    
  18.     move.l    4,a6
  19.     move.l    #gfxname,a1
  20.     moveq.l    #0,d0
  21.     jsr    -552(a6)
  22.     move.l    d0,gfxbase
  23.  
  24.     MOVE.W    #$0080,$dff096
  25.     move.w    $dff01c,sysint
  26.     or.w    #$c000,sysint
  27.     move.w    #$7fff,$dff09a
  28.     move.w    #$c020,$dff09a
  29.     move.l    $6c,intsave
  30.     clr.w    $dff088
  31.     move.w    #$8480,$dff096    
  32.     bset.b    #1,$bfe001
  33.  
  34.     move.l    #logo,stor
  35.     move.w    stor,bp1+2
  36.     move.w    stor+2,bp1+6
  37.     add.l    #40*48,stor
  38.     move.w    stor,bp2+2
  39.     move.w    stor+2,bp2+6
  40.     add.l    #40*48,stor
  41.     move.w    stor,bp3+2
  42.     move.w    stor+2,bp3+6
  43.     add.l    #40*48,stor
  44.     move.w    stor,bp4+2
  45.     move.w    stor+2,bp4+6
  46.     add.l    #40*48,stor
  47.  
  48.     lea    copcol+2,a0
  49.     move.l    #15,d0
  50.     move.l    stor,a1
  51. .lp3:    move.w    (a1)+,(a0)+
  52.     add.l    #2,a0
  53.     dbra    d0,.lp3
  54.  
  55.  
  56. * Create copper with dummy colors
  57.  
  58.     lea    cop,a0
  59.     lea    cop2,a1
  60.     move.l    #$7c35fffe,d0
  61.     move.l    #173,d1
  62.     move.l    #$01800000,d2
  63. poo:    move.l    d0,(a0)+
  64.     move.l    d0,(a1)+
  65.  
  66.     move.l    #43,d3
  67. poo2:    move.l    d2,(a0)+
  68.     move.l    d2,(a1)+
  69.     dbra    d3,poo2
  70.  
  71.     add.l    #$01000000,d0
  72.     dbra    d1,poo
  73.  
  74. * Create buffer and implant colors
  75.  
  76.     lea    buffer,a0
  77.     lea    cols,a1
  78.     moveq.l    #0,d0        ;cols index (0-128).l
  79.     move.l    #349,d1        ;counter number vert
  80.     
  81. .lp2:    move.l    #43,d2        ;counter number horiz
  82. .lp    move.w    #$0180,(a0)+
  83.     move.w    (a1,d0),(a0)+
  84.     dbra    d2,.lp
  85.  
  86.     add.l    #2,d0        ;next color
  87.     and.l    #$7f,d0        ;wrap?
  88.  
  89.     dbra    d1,.lp2        ;another bar?
  90.  
  91. * Create scroll buffer and implant colors
  92.  
  93.     lea    scrollbuffer,a0
  94.     moveq.l    #0,d0        ;cols index (0-128).l
  95.     move.l    #47,d1        ;counter number vert
  96.     
  97. .lp5:    move.l    #43,d2        ;counter number horiz
  98. .lp4:    move.w    #$0180,(a0)+
  99.     move.w    #0,(a0)+
  100.     dbra    d2,.lp4
  101.  
  102.     dbra    d1,.lp5        ;another bar?
  103.  
  104.     jsr    blit2        ;clr scroll area in buffer
  105.  
  106.     jsr    start
  107.  
  108.     move.l    #newcopper,$dff080
  109.     move.l    #cop,$dff084
  110.     move.w    #0,$dff180
  111.     move.l    #isr,$6c
  112.  
  113. wait:    jsr    task            ;jmp to our sub.
  114.     btst    #6,$bfe001        ;wait for mouse.
  115.     bne    wait
  116.     move.l    gfxbase,a4
  117.     move.l    startlist1(a4),$dff080
  118.     move.l    startlist2(a4),$dff084
  119.     clr.w    $dff088    
  120.     move.l    intsave,$6c
  121.     move.w    sysint,$dff09a
  122.     move.w    #$8080,$dff096
  123.     move.w    #$0400,$dff096
  124.     move.l    4,a6
  125.     move.l    gfxbase,a1
  126.     jsr    -414(a6)
  127.     
  128.     jsr    stopmus
  129.  
  130.     moveq.l    #0,d0
  131.  
  132. error:    move.w    #$0fff,$dff180
  133.     rts                ;exit.
  134.  
  135. newcopper:                    
  136.     dc.w    $0100,$4200
  137. scrl:    dc.w    $0102,$0000
  138.  
  139. bp1:    dc.w    $00e0,$0000,$00e2,$0000
  140. bp2:    dc.w    $00e4,$0000,$00e6,$0000
  141. bp3:    dc.w    $00e8,$0000,$00ea,$0000
  142. bp4:    dc.w    $00ec,$0000,$00ee,$0000
  143. bp5:    dc.w    $00f0,$0000,$00f2,$0000
  144.  
  145.     dc.w    $008E,$3c81,$0090,$80c1                                 
  146.     dc.w    $0092,$0038,$0094,$00d0
  147. mod:    dc.w    $0108,$0000,$010a,$0000
  148.  
  149. sp0:    dc.w    $0120,$0000,$0122,$0000    
  150.     dc.w    $0124,$0000,$0126,$0000    
  151.     dc.w    $0128,$0000,$012a,$0000    
  152.     dc.w    $012c,$0000,$012e,$0000    
  153.     dc.w    $0130,$0000,$0132,$0000    
  154.     dc.w    $0134,$0000,$0136,$0000    
  155.     dc.w    $0138,$0000,$013a,$0000    
  156.     dc.w    $013c,$0000,$013e,$0000    
  157. copcol:    
  158.     dc.w    $0180,$0000
  159.     dc.w    $0182,$0000
  160.     dc.w    $0184,$0000
  161.     dc.w    $0186,$0000
  162.     dc.w    $0188,$0000
  163.     dc.w    $018a,$0000
  164.     dc.w    $018c,$0000
  165.     dc.w    $018e,$0000
  166.     dc.w    $0190,$0000
  167.     dc.w    $0192,$0000
  168.     dc.w    $0194,$0000
  169.     dc.w    $0196,$0000
  170.     dc.w    $0198,$0000
  171.     dc.w    $019a,$0000
  172.     dc.w    $019c,$0000
  173.     dc.w    $019e,$0000
  174.  
  175.     dc.w    $6c01,$fffe,$0100,$0200
  176.  
  177.     dc.w    $7801,$fffe,$0180,$0444
  178.     dc.w    $7901,$fffe,$0180,$0888
  179.     dc.w    $7a01,$fffe,$0180,$0ccc
  180.     dc.w    $7b01,$fffe,$0180,$0fff
  181.  
  182.     dc.w    $008a,$0001
  183. cop:    
  184.     rept    174
  185.  
  186.     ds.l    45
  187.  
  188.     endr
  189.  
  190.     dc.w    $2a01,$fffe,$0180,$0fff
  191.     dc.w    $2b01,$fffe,$0180,$0ccc
  192.     dc.w    $2c01,$fffe,$0180,$0888
  193.     dc.w    $2d01,$fffe,$0180,$0444
  194.     dc.w    $2e01,$fffe,$0180,$0000
  195.  
  196.     dc.w    $ffff,$fffe
  197. cop2:    
  198.     rept    174
  199.  
  200.     ds.l    45
  201.  
  202.     endr
  203.  
  204.     dc.w    $2a01,$fffe,$0180,$0fff
  205.     dc.w    $2b01,$fffe,$0180,$0ccc
  206.     dc.w    $2c01,$fffe,$0180,$0888
  207.     dc.w    $2d01,$fffe,$0180,$0444
  208.     dc.w    $2e01,$fffe,$0180,$0000
  209.  
  210.     dc.w    $ffff,$fffe
  211.  
  212. gfxname:dc.b    'graphics.library',0
  213.     even
  214. gfxbase:dc.l    0
  215.  
  216. stor:    dc.l    0
  217. pln1:    dc.l    0
  218. pln2:    dc.l    0
  219. pln3:    dc.l    0
  220. pln4:    dc.l    0
  221. pln5:    dc.l    0
  222. sysint:    dc.w    0
  223. intsave:dc.l    0
  224. plnbase:dc.l    0
  225. count:    dc.l    0
  226. count2:    dc.l    0
  227. count3:    dc.l    240*4
  228. frame:    dc.l    0
  229.  
  230. isr:    movem.l    d0-d7/a0-a6,-(sp)
  231.     move.w    #$0020,$dff09c
  232.     movem.l    (sp)+,d0-d7/a0-a6
  233.     rte
  234.  
  235. task:    move.w    $dff006,d0
  236.     and.w    #$ff00,d0
  237.     cmp.w    #$e800,d0
  238.     bne    task
  239.  
  240.     ;move.w    #$0fff,$dff180
  241.  
  242.     eor.l    #1,frame
  243.  
  244.     move.l    #43,d2
  245.     move.l    #0,d3
  246.     move.l    count,count2
  247.     lea    smlcircle,a0
  248.     add.l    count3,a0
  249.  
  250.     move.w    #$00ac,$dff064    ;a mod
  251.     move.w    #$00b0,$dff066    ;d mod
  252.     move.w    #$ffff,$dff044    ;fw mask
  253.     move.w    #$ffff,$dff046    ;lw mask
  254.     move.w    #%0000100111110000,$dff040    ;con0
  255.     move.w    #%0000000000000000,$dff042    ;con1
  256.  
  257.     rept    43
  258.  
  259.     move.l    -(a0),d0
  260.     move.l    d3,d1
  261.     ;add.l    #63,d0        ;middle
  262.     mulu    #176,d0
  263.     add.l    d1,d0
  264.     jsr    blit
  265.     add.l    #1,count2
  266.     add.l    #4,d3
  267.  
  268.     endr
  269.  
  270.     add.l    #1,count
  271.     and.l    #63,count
  272.  
  273.     add.l    #8,count3
  274.     cmp.l    #480*4,count3
  275.     bne    .lp
  276.  
  277.     move.l    #240*4,count3
  278.  
  279. .lp:    
  280.     jsr    blit3            
  281.  
  282.     jsr    replay
  283.  
  284.     ;move.w    #$0,$dff180
  285.  
  286.     rts
  287.  
  288. blit:    
  289.     add.l    #buffer,d0
  290.     tst.l    frame
  291.     beq    .lp2
  292.     add.l    #cop+4,d1
  293.     move.l    #cop,$dff084
  294.     bra    .lp3
  295. .lp2:    add.l    #cop2+4,d1
  296.     move.l    #cop2,$dff084
  297. .lp3:    ;move.w    #$0fff,$dff180
  298.     move.l    d0,$dff050    
  299.     move.l    d1,$dff054    
  300.     move.w    #%0010101110000010,$dff058            
  301.     ;move.w    #$0000,$dff180
  302. .lp:    ;btst    #14,$dff002
  303.     ;bne    .lp
  304.     rts
  305. blit2:    
  306.     move.l    #scrollbuffer,d0
  307.     move.l    #buffer+94*176,d1
  308.     ;move.w    #$0fff,$dff180
  309.     move.l    d0,$dff050    
  310.     move.l    d1,$dff054    
  311.  
  312.     move.w    #$0032,$dff064    
  313.     move.w    #$0032,$dff066    
  314.     move.w    #$ffff,$dff044    
  315.     move.w    #$ffff,$dff046    
  316.  
  317.     move.w    #%0000100111110000,$dff040    
  318.     move.w    #%0000000000000000,$dff042    
  319.     move.w    #%0000110000111111,$dff058    
  320.     ;move.w    #$0000,$dff180
  321. .lp:    ;btst    #14,$dff002
  322.     ;bne    .lp
  323.  
  324.     move.l    #scrollbuffer+126,d0
  325.     move.l    #buffer+126+94*176,d1
  326.     ;move.w    #$0fff,$dff180
  327.     move.l    d0,$dff050    
  328.     move.l    d1,$dff054    
  329.  
  330.     move.w    #$007e,$dff064    
  331.     move.w    #$007e,$dff066    
  332.     move.w    #$ffff,$dff044    
  333.     move.w    #$ffff,$dff046    
  334.  
  335.     move.w    #%0000100111110000,$dff040    
  336.     move.w    #%0000000000000000,$dff042    
  337.     move.w    #%0000110000011001,$dff058        
  338.     ;move.w    #$0000,$dff180
  339.     ;btst    #14,$dff002
  340.     ;bne    .lp
  341.     rts
  342.  
  343. blit3:    
  344.     tst.l    pause
  345.     beq    .lp6
  346.     sub.l    #1,pause
  347.     bra    .lp4
  348.     rts
  349. .lp6:
  350.  
  351.  
  352.     move.l    #buffer+94*176+4,d0
  353.     move.l    #buffer+94*176,d1
  354.     ;move.w    #$0fff,$dff180
  355.     move.l    d0,$dff050    
  356.     move.l    d1,$dff054    
  357.  
  358.     move.w    #$0032,$dff064    
  359.     move.w    #$0032,$dff066    
  360.     move.w    #$ffff,$dff044    
  361.     move.w    #$ffff,$dff046    
  362.  
  363.     move.w    #%0000100111110000,$dff040    
  364.     move.w    #%0000000000000000,$dff042    
  365.     move.w    #%0000110000111111,$dff058    
  366.     ;move.w    #$0000,$dff180
  367. .lp:    ;btst    #14,$dff002
  368.     ;bne    .lp
  369.  
  370.     move.l    #buffer+126+94*176+4,d0
  371.     move.l    #buffer+126+94*176,d1
  372.     ;move.w    #$0fff,$dff180
  373.     move.l    d0,$dff050    
  374.     move.l    d1,$dff054    
  375.  
  376.     move.w    #$007e,$dff064    
  377.     move.w    #$007e,$dff066    
  378.     move.w    #$ffff,$dff044    
  379.     move.w    #$ffff,$dff046    
  380.  
  381.     move.w    #%0000100111110000,$dff040    
  382.     move.w    #%0000000000000000,$dff042    
  383.     move.w    #%0000110000011001,$dff058        
  384.     ;move.w    #$0000,$dff180
  385.     ;btst    #14,$dff002
  386.     ;bne    .lp
  387.  
  388.     cmp.l    #7,chbit
  389.     bne    .lp4
  390.     jsr    getchr
  391.  
  392.     
  393. .lp4:    tst.l    pause
  394.     beq    .lp5
  395.     ;sub.l    #1,pause
  396.     rts
  397. .lp5:
  398.  
  399.     lea    buffer+94*176,a0
  400.     lea    ch,a1
  401.     add.l    #174,a0
  402.     move.l    #5,d0
  403.     move.l    #0,d2        ;row number
  404.     move.l    chbit,d1
  405. .lp2:    btst.b    d1,(a1)+
  406.     beq    .lp3
  407.     
  408.     lea    scrollcol,a2
  409.     add.l    toff,a2
  410.     add.l    d2,a2
  411.  
  412.     move.w    (a2)+,(a0)
  413.     add.l    #176,a0
  414.     move.w    (a2)+,(a0)
  415.     add.l    #176,a0
  416.     move.w    (a2)+,(a0)
  417.     add.l    #176,a0
  418.     move.w    (a2)+,(a0)
  419.     add.l    #176,a0
  420.     move.w    (a2)+,(a0)
  421.     add.l    #176,a0
  422.     move.w    (a2)+,(a0)
  423.     add.l    #176,a0
  424.     move.w    (a2)+,(a0)
  425.     add.l    #176,a0
  426.     move.w    (a2)+,(a0)
  427.     add.l    #176,a0
  428.     add.l    #16,d2
  429.     dbra    d0,.lp2
  430.     sub.l    #1,chbit
  431.     and.l    #7,chbit
  432.     rts
  433.  
  434. .lp3:    
  435.     lea    backcol,a2
  436.     add.l    boff,a2
  437.     add.l    d2,a2
  438.  
  439.     move.w    (a2)+,(a0)
  440.     add.l    #176,a0
  441.     move.w    (a2)+,(a0)
  442.     add.l    #176,a0
  443.     move.w    (a2)+,(a0)
  444.     add.l    #176,a0
  445.     move.w    (a2)+,(a0)
  446.     add.l    #176,a0
  447.     move.w    (a2)+,(a0)
  448.     add.l    #176,a0
  449.     move.w    (a2)+,(a0)
  450.     add.l    #176,a0
  451.     move.w    (a2)+,(a0)
  452.     add.l    #176,a0
  453.     move.w    (a2)+,(a0)
  454.     add.l    #176,a0
  455.     add.l    #16,d2
  456.     dbra    d0,.lp2
  457.     sub.l    #1,chbit
  458.     and.l    #7,chbit
  459.     rts
  460.  
  461. Getchr:    moveq.l    #0,d0
  462.     lea    mess,a0
  463.     add.l    messpoint,a0
  464.     lea    chars,a1
  465.     move.b    (a0),d0    
  466.     beq    end
  467.  
  468.     cmp.b    #255,d0
  469.     beq    chtext
  470.     cmp.b    #254,d0
  471.     beq    chback
  472.     cmp.b    #253,d0
  473.     beq    stop
  474.     sub.b    #32,d0
  475.  
  476.     btst.l    #6,d0
  477.     beq    notlo2
  478.  
  479.  
  480.     sub.b    #32,d0
  481. notlo2:    add.l    d0,a1
  482.     
  483.     move.b    (a1),ch
  484.     move.b    66(a1),ch+1
  485.     move.b    132(a1),ch+2
  486.     move.b    198(a1),ch+3
  487.     move.b    264(a1),ch+4
  488.     move.b    330(a1),ch+5
  489.     add.l    #1,messpoint
  490.     rts    
  491. end:    move.l    #0,messpoint
  492.     bra    getchr
  493.  
  494. chback:    add.l    #2,messpoint
  495.     move.b    (a0)+,d0
  496.     move.b    (a0)+,d0
  497.     mulu    #96,d0
  498.     move.w    d0,boff+2
  499.     bra    getchr
  500.  
  501. chtext:    add.l    #2,messpoint
  502.     move.b    (a0)+,d0
  503.     move.b    (a0)+,d0
  504.     mulu    #96,d0
  505.     move.w    d0,toff+2
  506.     bra    getchr
  507.  
  508. stop:    move.l    #120,pause
  509.     add.l    #1,messpoint
  510.     move.l    #0,chbit
  511.     lea    chars,a1
  512.     move.b    (a1),ch
  513.     move.b    66(a1),ch+1
  514.     move.b    132(a1),ch+2
  515.     move.b    198(a1),ch+3
  516.     move.b    264(a1),ch+4
  517.     move.b    330(a1),ch+5
  518.     rts
  519.  
  520. chars:    incbin    'sstext'
  521.     even
  522.  
  523.     * Commands
  524.     * t,0-5 text color   grn,red,blu,yell,gy,purp
  525.     * b,0-5 back color   purp,gry,yell,blu,grn,red
  526.     * s pause scroller
  527.  
  528. mess:    dc.b    B,0,T,0,'      YO,',T,1,' ITS US AGAIN WITH A NEW VERY BRILLIANT COPPER SCROLL,',T,2,' THIS HAS GOTTA BE THE FIRST COPPER SCROLL EVER TRIED...',B,2,' WE CAN EVEN CHANGE THE COLOUR OF THE TEXT AS YOU CAN see',B,1,T,1
  529.     DC.B    ' ANYWAY THIS IS MYSTIK TYPING IN THIS SCROLL, ZAG THINKS THIS IS CRAP BUT EVERYTHING HE DOES HE THINKS IS CRAP, BUT WE KNOW ITS NOT!!!   ',T,2,B,2,' WE THINK ITS GREAT.',T,1,B,0,'    LOGO BY ELECTRO AND THE MUSIC IS BY ANIMATE'
  530.     dc.b    t,0,b,0,' THIS IS'
  531.     dc.b    t,1,b,1,' MYSTIK '
  532.     dc.b    t,2,b,2,' HANDING'
  533.     dc.b    t,3,b,3,' THE KEYBOARD OVER TO '
  534.     dc.b    t,4,b,4,' WIZOID!!      ',b,0,t,2,' YOOOOOOOOO  THIS IS THE MIGHTY COOL WIZOID ERE!!  WELL THIS INTRO IS QUITE COOL DON''T YOU THINK...    WELL I THINK I''LL GIVE A FEW PERSONAL GREETS TO:'
  535.     dc.b    t,5,b,5,' MR BIG AND J-DROKK (ANARCHY) KEEP COOL GUYZ AS ALLWAYS!!!    ',T,3,B,3,' STORMGOD AND HAVOK (ECSTASY) YOU ARE SO COOL!!!         POD AND ADS(INNER CITY) KEEP COOL      OHH WELL I''M' 
  536.     DC.B    T,0,B,5,' VERY BORED NOW SO I''LL PASS THE KEYBOARD OVER TO ELECTRO!!!?'
  537.     dc.b     t,5,b,1,' ELECTRO HERE!  WELL, I HAVEN''T REALLY MUCH TO SAY, SO ILL HEAD'
  538.     dc.b     ' STRAIGHT FOR MY PERSONAL GREETINGS, (IN A-Z ORDER!)...    HEARTY'
  539.     dc.b     ' HANDSHAKES GO OUT TO ALL EXTREMISTS WORLDWIDE, IN PARTICULAR'
  540.     dc.b     ' MYSTIC, OVERKILL, SKEXIS AND WIZOID,    GREETINGS ALSO FLY OVER'
  541.     dc.b     ' TO:    ',T,5,' EZY/ECSTACY, ',T,2,' FENDER/T.H.R., ',B,0,' FROGGY/MERCENERY,'
  542.     dc.b     T,5,B,2,' JAKE/HACKTRICK, SCARFACE/ADEPT, ',T,3,' THE PRIDE/FLASH PRODUCTION,'
  543.     dc.b     ' VANGUARD/TEAM-X AND LAST BUT NOT LEAST ZAPHOD/AMAZE   ' 
  544.     dc.b     '    OH WELL THATS ALL FROM ME GUYS...    LATER...   ',B,3,T,0,'  '     
  545.        DC.B    ' OK NOW TIME FOR SOMEONE ELSE TO TYPE SOME SCROLL TEXT IN-----      '
  546.     DC.B    0
  547.     
  548. chbit:    dc.l    7
  549. Boff:    dc.l    0
  550. Toff:    dc.l    0
  551. pause:    dc.l    0
  552. messpoint:
  553.     dc.l    0
  554.  
  555. ch:    
  556.     dc.b    %01111000
  557.     dc.b    %10000100
  558.     dc.b    %11111100
  559.     dc.b    %10000100
  560.     dc.b    %10000100
  561.     dc.b    %00000000
  562.  
  563.  
  564. scrollcol:
  565.     dc.w    $0000,$0010,$0020,$0030,$0040,$0050,$0060,$0070
  566.     dc.w    $0080,$0090,$00a0,$00b0,$00c0,$00d0,$00e0,$00f0
  567.     dc.w    $01f1,$02f2,$03f3,$04f4,$05f5,$06f6,$07f7,$08f8
  568.     dc.w    $08f8,$07f7,$06f6,$05f5,$04f4,$03f3,$02f2,$01f1
  569.     dc.w    $00f0,$00e0,$00d0,$00c0,$00b0,$00a0,$0090,$0080
  570.     dc.w    $0070,$0060,$0050,$0040,$0030,$0020,$0010,$0000
  571.  
  572.     dc.w    $0000,$0100,$0200,$0300,$0400,$0500,$0600,$0700
  573.     dc.w    $0800,$0900,$0a00,$0b00,$0c00,$0d00,$0e00,$0f00
  574.     dc.w    $0f11,$0f22,$0f33,$0f44,$0f55,$0f66,$0f77,$0f88
  575.     dc.w    $0f88,$0f77,$0f66,$0f55,$0f44,$0f33,$0f22,$0f11
  576.     dc.w    $0f00,$0e00,$0d00,$0c00,$0b00,$0a00,$0900,$0800
  577.     dc.w    $0700,$0600,$0500,$0400,$0300,$0200,$0100,$0000
  578.  
  579.     dc.w    $0000,$0001,$0002,$0003,$0004,$0005,$0006,$0007
  580.     dc.w    $0008,$0009,$000a,$000b,$000c,$000d,$000e,$000f
  581.     dc.w    $011f,$022f,$033f,$044f,$055f,$066f,$077f,$088f
  582.     dc.w    $088f,$077f,$066f,$055f,$044f,$033f,$022f,$011f
  583.     dc.w    $000f,$000e,$000d,$000c,$000b,$000a,$0009,$0008
  584.     dc.w    $0007,$0006,$0005,$0004,$0003,$0002,$0001,$0000
  585.  
  586.     dc.w    $0000,$0110,$0220,$0330,$0440,$0550,$0660,$0770
  587.     dc.w    $0880,$0990,$0aa0,$0bb0,$0cc0,$0dd0,$0ee0,$0ff0
  588.     dc.w    $0ff1,$0ff2,$0ff3,$0ff4,$0ff5,$0ff6,$0ff7,$0ff8
  589.     dc.w    $0ff8,$0ff7,$0ff6,$0ff5,$0ff4,$0ff3,$0ff2,$0ff1
  590.     dc.w    $0ff0,$0ee0,$0dd0,$0cc0,$0bb0,$0aa0,$0990,$0880
  591.     dc.w    $0770,$0660,$0550,$0440,$0330,$0220,$0110,$0000
  592.  
  593.     dc.w    $0000,$0000,$0111,$0111,$0222,$0222,$0333,$0333
  594.     dc.w    $0444,$0444,$0555,$0555,$0666,$0666,$0777,$0777
  595.     dc.w    $0888,$0888,$0999,$0999,$0aaa,$0aaa,$0bbb,$0bbb
  596.     dc.w    $0bbb,$0bbb,$0aaa,$0aaa,$0999,$0999,$0888,$0888
  597.     dc.w    $0777,$0777,$0666,$0666,$0555,$0555,$0444,$0444
  598.     dc.w    $0333,$0333,$0222,$0222,$0111,$0111,$0000,$0000
  599.  
  600.     dc.w    $0000,$0101,$0202,$0303,$0404,$0505,$0606,$0707
  601.     dc.w    $0808,$0909,$0a0a,$0b0b,$0c0c,$0d0d,$0e0e,$0f0f
  602.     dc.w    $0f1f,$0f2f,$0f3f,$0f4f,$0f5f,$0f6f,$0f7f,$0f8f
  603.     dc.w    $0f8f,$0f7f,$0f6f,$0f5f,$0f4f,$0f3f,$0f2f,$0f1f
  604.     dc.w    $0f0f,$0e0e,$0d0d,$0c0c,$0b0b,$0a0a,$0909,$0808
  605.     dc.w    $0707,$0606,$0505,$0404,$0303,$0202,$0101,$0000
  606.  
  607.  
  608. backcol:
  609.     dc.w    $0b0b,$0b0b,$0a0a,$0a0a,$0909,$0909,$0808,$0808
  610.     dc.w    $0707,$0707,$0606,$0606,$0505,$0505,$0404,$0404
  611.     dc.w    $0303,$0303,$0202,$0202,$0101,$0101,$0000,$0000
  612.     dc.w    $0000,$0000,$0101,$0101,$0202,$0202,$0303,$0303
  613.     dc.w    $0404,$0404,$0505,$0505,$0606,$0606,$0707,$0707
  614.     dc.w    $0808,$0808,$0909,$0909,$0a0a,$0a0a,$0b0b,$0b0b
  615.  
  616.     dc.w    $0bbb,$0bbb,$0aaa,$0aaa,$0999,$0999,$0888,$0888
  617.     dc.w    $0777,$0777,$0666,$0666,$0555,$0555,$0444,$0444
  618.     dc.w    $0333,$0333,$0222,$0222,$0111,$0111,$0000,$0000
  619.     dc.w    $0000,$0000,$0111,$0111,$0222,$0222,$0333,$0333
  620.     dc.w    $0444,$0444,$0555,$0555,$0666,$0666,$0777,$0777
  621.     dc.w    $0888,$0888,$0999,$0999,$0aaa,$0aaa,$0bbb,$0bbb
  622.  
  623.     dc.w    $0bb0,$0bb0,$0aa0,$0aa0,$0990,$0990,$0880,$0880
  624.     dc.w    $0770,$0770,$0660,$0660,$0550,$0550,$0440,$0440
  625.     dc.w    $0330,$0330,$0220,$0220,$0110,$0110,$0000,$0000
  626.     dc.w    $0000,$0000,$0110,$0110,$0220,$0220,$0330,$0330
  627.     dc.w    $0440,$0440,$0550,$0550,$0660,$0660,$0770,$0770
  628.     dc.w    $0880,$0880,$0990,$0990,$0aa0,$0aa0,$0bb0,$0bb0
  629.  
  630.     dc.w    $000b,$000b,$000a,$000a,$0009,$0009,$0008,$0008
  631.     dc.w    $0007,$0007,$0006,$0006,$0005,$0005,$0004,$0004
  632.     dc.w    $0003,$0003,$0002,$0002,$0001,$0001,$0000,$0000
  633.     dc.w    $0000,$0000,$0001,$0001,$0002,$0002,$0003,$0003
  634.     dc.w    $0004,$0004,$0005,$0005,$0006,$0006,$0007,$0007
  635.     dc.w    $0008,$0008,$0009,$0009,$000a,$000a,$000b,$000b
  636.  
  637.     dc.w    $00b0,$00b0,$00a0,$00a0,$0090,$0090,$0080,$0080
  638.     dc.w    $0070,$0070,$0060,$0060,$0050,$0050,$0040,$0040
  639.     dc.w    $0030,$0030,$0020,$0020,$0010,$0010,$0000,$0000
  640.     dc.w    $0000,$0000,$0010,$0010,$0020,$0020,$0030,$0030
  641.     dc.w    $0040,$0040,$0050,$0050,$0060,$0060,$0070,$0070
  642.     dc.w    $0080,$0080,$0090,$0090,$00a0,$00a0,$00b0,$00b0
  643.  
  644.     dc.w    $0b00,$0b00,$0a00,$0a00,$0900,$0900,$0800,$0800
  645.     dc.w    $0700,$0700,$0600,$0600,$0500,$0500,$0400,$0400
  646.     dc.w    $0300,$0300,$0200,$0200,$0100,$0100,$0000,$0000
  647.     dc.w    $0000,$0000,$0100,$0100,$0200,$0200,$0300,$0300
  648.     dc.w    $0400,$0400,$0500,$0500,$0600,$0600,$0700,$0700
  649.     dc.w    $0800,$0800,$0900,$0900,$0a00,$0a00,$0b00,$0b00
  650.  
  651.  
  652.  
  653.  
  654. logo:    incbin    'extreme.map'
  655.  
  656.  
  657. cols:    dc.w    $0000,$0100,$0200,$0300,$0400,$0500,$0600,$0700
  658.     dc.w    $0800,$0900,$0a00,$0b00,$0c00,$0d00,$0e00,$0f00
  659.  
  660.     dc.w    $0f10,$0e20,$0d30,$0c40,$0b50,$0a60,$0970,$0880
  661.     dc.w    $0790,$06a0,$05b0,$04c0,$03d0,$02e0,$01f0,$00f0
  662.  
  663.     dc.w    $00f1,$00e2,$00d3,$00c4,$00b5,$00a6,$0097,$0088
  664.     dc.w    $0079,$006a,$005b,$004c,$003d,$002e,$001f,$000f
  665.  
  666.     dc.w    $000f,$000e,$000d,$000c,$000b,$000a,$0009,$0008
  667.     dc.w    $0007,$0006,$0005,$0004,$0003,$0002,$0001,$0000
  668.  
  669. buffer:    
  670.     rept    350
  671.     ds.l    44
  672.     endr
  673.  
  674. scrollbuffer:    
  675.     rept    48
  676.     ds.l    44
  677.     endr
  678.  
  679. smlcircle:
  680.     dc.l    59,59,59,59,59,59,59,59,59,59,58,58,58,58
  681.     dc.l    58,57,57,57,56,56,55,55,55,54,54,53,53,52,52,51,51,50,50,49
  682.     dc.l    48,48,47,47,46,45,45,44,43,42,42,41,40,40,39,38,37,37,36,35
  683.     dc.l    34,33,33,32,31,30,30,29,28,27,26,26,25,24,23,23,22,21,20,20
  684.     dc.l    19,18,17,17,16,15,15,14,13,13,12,11,11,10,9,9,8,8,7,7,6,6
  685.     dc.l    5,5,4,4,4,3,3,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0
  686.     dc.l    0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,3,3,3,4,4,5,5,6,6,7,7
  687.     dc.l    8,8,9,9,10,11,11,12,12,13,14,14,15,16,17,17,18,19,19,20,21
  688.     dc.l    22,22,23,24,25,26,26,27,28,29,29,30,31,32,33,33,34,35,36,36
  689.     dc.l    37,38,39,39,40,41,42,42,43,44,44,45,46,46,47,48,48,49,50,50
  690.     dc.l    51,51,52,52,53,53,54,54,55,55,55,56,56,57,57,57,57,58,58,58
  691.     dc.l    58,59,59,59,59,59,59,59,59,59,59
  692.  
  693.     dc.l    59,59,59,59,59,59,59,59,59,59,58,58,58,58
  694.     dc.l    58,57,57,57,56,56,55,55,55,54,54,53,53,52,52,51,51,50,50,49
  695.     dc.l    48,48,47,47,46,45,45,44,43,42,42,41,40,40,39,38,37,37,36,35
  696.     dc.l    34,33,33,32,31,30,30,29,28,27,26,26,25,24,23,23,22,21,20,20
  697.     dc.l    19,18,17,17,16,15,15,14,13,13,12,11,11,10,9,9,8,8,7,7,6,6
  698.     dc.l    5,5,4,4,4,3,3,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0
  699.     dc.l    0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,3,3,3,4,4,5,5,6,6,7,7
  700.     dc.l    8,8,9,9,10,11,11,12,12,13,14,14,15,16,17,17,18,19,19,20,21
  701.     dc.l    22,22,23,24,25,26,26,27,28,29,29,30,31,32,33,33,34,35,36,36
  702.     dc.l    37,38,39,39,40,41,42,42,43,44,44,45,46,46,47,48,48,49,50,50
  703.     dc.l    51,51,52,52,53,53,54,54,55,55,55,56,56,57,57,57,57,58,58,58
  704.     dc.l    58,59,59,59,59,59,59,59,59,59,59
  705.  
  706.  
  707. ; -----------------------------------------------
  708. ; ------- Soundtracker V2.4 - playroutine -------
  709. ; -----------------------------------------------
  710.  
  711. ; call 'mt_init' to initialize the playroutine
  712.  
  713. start:    lea    mt_data,a0
  714.     add.l    #$03b8,a0
  715.     moveq    #$7f,d0
  716.     moveq    #0,d1
  717. mt_init1:
  718.     move.l    d1,d2
  719.     subq.w    #1,d0
  720. mt_init2:
  721.     move.b    (a0)+,d1
  722.     cmp.b    d2,d1
  723.     bgt.s    mt_init1
  724.     dbf    d0,mt_init2
  725.     addq.b    #1,d2
  726.  
  727. mt_init3:
  728.     lea    mt_data,a0
  729.     lea    mt_sample1(pc),a1
  730.     asl.l    #8,d2
  731.     asl.l    #2,d2
  732.     add.l    #$438,d2
  733.     add.l    a0,d2
  734.     moveq    #$1e,d0
  735. mt_init4:
  736.     move.l    d2,(a1)+
  737.     moveq    #0,d1
  738.     move.w    42(a0),d1
  739.     asl.l    #1,d1
  740.     add.l    d1,d2
  741.     add.l    #$1e,a0
  742.     dbf    d0,mt_init4
  743.  
  744.     lea    mt_sample1(PC),a0
  745.     moveq    #0,d0
  746. mt_clear:
  747.     move.l    (a0,d0.w),a1
  748.     clr.l    (a1)
  749.     addq.w    #4,d0
  750.     cmp.w    #$7c,d0
  751.     bne.s    mt_clear
  752.  
  753.     clr.w    $dff0a8
  754.     clr.w    $dff0b8
  755.     clr.w    $dff0c8
  756.     clr.w    $dff0d8
  757.     clr.l    mt_partnrplay
  758.     clr.l    mt_partnote
  759.     clr.l    mt_partpoint
  760.  
  761.     move.b    mt_data+$3b6,mt_maxpart+1
  762.     rts
  763.  
  764. ; call 'mt_end' to switch the sound off
  765.  
  766. stopmus:
  767.     clr.w    $dff0a8
  768.     clr.w    $dff0b8
  769.     clr.w    $dff0c8
  770.     clr.w    $dff0d8
  771.     move.w    #$f,$dff096
  772.     rts
  773.  
  774. ; the playroutine - call this every frame
  775.  
  776. replay:
  777.     addq.w    #1,mt_counter
  778. mt_cool:cmp.w    #6,mt_counter
  779.     bne.s    mt_notsix
  780.     clr.w    mt_counter
  781.     bra    mt_rout2
  782.  
  783. mt_notsix:
  784.     lea    mt_aud1temp(PC),a6
  785.     tst.b    3(a6)
  786.     beq.s    mt_arp1
  787.     lea    $dff0a0,a5        
  788.     bsr.s    mt_arprout
  789. mt_arp1:lea    mt_aud2temp(PC),a6
  790.     tst.b    3(a6)
  791.     beq.s    mt_arp2
  792.     lea    $dff0b0,a5
  793.     bsr.s    mt_arprout
  794. mt_arp2:lea    mt_aud3temp(PC),a6
  795.     tst.b    3(a6)
  796.     beq.s    mt_arp3
  797.     lea    $dff0c0,a5
  798.     bsr.s    mt_arprout
  799. mt_arp3:lea    mt_aud4temp(PC),a6
  800.     tst.b    3(a6)
  801.     beq.s    mt_arp4
  802.     lea    $dff0d0,a5
  803.     bra.s    mt_arprout
  804. mt_arp4:rts
  805.  
  806. mt_arprout:
  807.     move.b    2(a6),d0
  808.     and.b    #$0f,d0
  809.     tst.b    d0
  810.     beq    mt_arpegrt
  811.     cmp.b    #$01,d0
  812.     beq.s    mt_portup
  813.     cmp.b    #$02,d0
  814.     beq.s    mt_portdwn
  815.     cmp.b    #$0a,d0
  816.     beq.s    mt_volslide
  817.     rts
  818.  
  819. mt_portup:
  820.     moveq    #0,d0
  821.     move.b    3(a6),d0
  822.     sub.w    d0,22(a6)
  823.     cmp.w    #$71,22(a6)
  824.     bpl.s    mt_ok1
  825.     move.w    #$71,22(a6)
  826. mt_ok1:    move.w    22(a6),6(a5)
  827.     rts
  828.  
  829. mt_portdwn:
  830.     moveq    #0,d0
  831.     move.b    3(a6),d0
  832.     add.w    d0,22(a6)
  833.     cmp.w    #$538,22(a6)
  834.     bmi.s    mt_ok2
  835.     move.w    #$538,22(a6)
  836. mt_ok2:    move.w    22(a6),6(a5)
  837.     rts
  838.  
  839. mt_volslide:
  840.     moveq    #0,d0
  841.     move.b    3(a6),d0
  842.     lsr.b    #4,d0
  843.     tst.b    d0
  844.     beq.s    mt_voldwn
  845.     add.w    d0,18(a6)
  846.     cmp.w    #64,18(a6)
  847.     bmi.s    mt_ok3
  848.     move.w    #64,18(a6)
  849. mt_ok3:    move.w    18(a6),8(a5)
  850.     rts
  851. mt_voldwn:
  852.     moveq    #0,d0
  853.     move.b    3(a6),d0
  854.     and.b    #$0f,d0
  855.     sub.w    d0,18(a6)
  856.     bpl.s    mt_ok4
  857.     clr.w    18(a6)
  858. mt_ok4:    move.w    18(a6),8(a5)
  859.     rts
  860.  
  861. mt_arpegrt:
  862.     move.w    mt_counter(PC),d0
  863.     cmp.w    #1,d0
  864.     beq.s    mt_loop2
  865.     cmp.w    #2,d0
  866.     beq.s    mt_loop3
  867.     cmp.w    #3,d0
  868.     beq.s    mt_loop4
  869.     cmp.w    #4,d0
  870.     beq.s    mt_loop2
  871.     cmp.w    #5,d0
  872.     beq.s    mt_loop3
  873.     rts
  874.  
  875. mt_loop2:
  876.     moveq    #0,d0
  877.     move.b    3(a6),d0
  878.     lsr.b    #4,d0
  879.     bra.s    mt_cont
  880. mt_loop3:
  881.     moveq    #$00,d0
  882.     move.b    3(a6),d0
  883.     and.b    #$0f,d0
  884.     bra.s    mt_cont
  885. mt_loop4:
  886.     move.w    16(a6),d2
  887.     bra.s    mt_endpart
  888. mt_cont:
  889.     add.w    d0,d0
  890.     moveq    #0,d1
  891.     move.w    16(a6),d1
  892.     and.w    #$fff,d1
  893.     lea    mt_arpeggio(PC),a0
  894. mt_loop5:
  895.     move.w    (a0,d0),d2
  896.     cmp.w    (a0),d1
  897.     beq.s    mt_endpart
  898.     addq.l    #2,a0
  899.     bra.s    mt_loop5
  900. mt_endpart:
  901.     move.w    d2,6(a5)
  902.     rts
  903.  
  904. mt_rout2:
  905.     lea    mt_data,a0
  906.     move.l    a0,a3
  907.     add.l    #$0c,a3
  908.     move.l    a0,a2
  909.     add.l    #$3b8,a2
  910.     add.l    #$43c,a0
  911.     move.l    mt_partnrplay(PC),d0
  912.     moveq    #0,d1
  913.     move.b    (a2,d0),d1
  914.     asl.l    #8,d1
  915.     asl.l    #2,d1
  916.     add.l    mt_partnote(PC),d1
  917.     move.l    d1,mt_partpoint
  918.     clr.w    mt_dmacon
  919.  
  920.     lea    $dff0a0,a5
  921.     lea    mt_aud1temp(PC),a6
  922.     bsr    mt_playit
  923.     lea    $dff0b0,a5
  924.     lea    mt_aud2temp(PC),a6
  925.     bsr    mt_playit
  926.     lea    $dff0c0,a5
  927.     lea    mt_aud3temp(PC),a6
  928.     bsr    mt_playit
  929.     lea    $dff0d0,a5
  930.     lea    mt_aud4temp(PC),a6
  931.     bsr    mt_playit
  932.     move.w    #$01f4,d0
  933. mt_rls:    dbf    d0,mt_rls
  934.  
  935.     move.w    #$8000,d0
  936.     or.w    mt_dmacon,d0
  937.     move.w    d0,$dff096
  938.  
  939.     lea    mt_aud4temp(PC),a6
  940.     cmp.w    #1,14(a6)
  941.     bne.s    mt_voice3
  942.     move.l    10(a6),$dff0d0
  943.     move.w    #1,$dff0d4
  944. mt_voice3:
  945.     lea    mt_aud3temp(PC),a6
  946.     cmp.w    #1,14(a6)
  947.     bne.s    mt_voice2
  948.     move.l    10(a6),$dff0c0
  949.     move.w    #1,$dff0c4
  950. mt_voice2:
  951.     lea    mt_aud2temp(PC),a6
  952.     cmp.w    #1,14(a6)
  953.     bne.s    mt_voice1
  954.     move.l    10(a6),$dff0b0
  955.     move.w    #1,$dff0b4
  956. mt_voice1:
  957.     lea    mt_aud1temp(PC),a6
  958.     cmp.w    #1,14(a6)
  959.     bne.s    mt_voice0
  960.     move.l    10(a6),$dff0a0
  961.     move.w    #1,$dff0a4
  962. mt_voice0:
  963.     move.l    mt_partnote(PC),d0
  964.     add.l    #$10,d0
  965.     move.l    d0,mt_partnote
  966.     cmp.l    #$400,d0
  967.     bne.s    mt_stop
  968. mt_higher:
  969.     clr.l    mt_partnote
  970.     addq.l    #1,mt_partnrplay
  971.     moveq    #0,d0
  972.     move.w    mt_maxpart(PC),d0
  973.     move.l    mt_partnrplay(PC),d1
  974.     cmp.l    d0,d1
  975.     bne.s    mt_stop
  976.     clr.l    mt_partnrplay
  977. mt_stop:tst.w    mt_status
  978.     beq.s    mt_stop2
  979.     clr.w    mt_status
  980.     bra.s    mt_higher
  981. mt_stop2:
  982.     rts
  983.  
  984. mt_playit:
  985.     move.l    (a0,d1.l),(a6)
  986.     addq.l    #4,d1
  987.     moveq    #0,d2
  988.     move.b    2(a6),d2
  989.     and.b    #$f0,d2
  990.     lsr.b    #4,d2
  991.  
  992.     move.b    (a6),d0
  993.     and.b    #$f0,d0
  994.     or.b    d0,d2
  995.     tst.b    d2
  996.     beq.s    mt_nosamplechange
  997.  
  998.     moveq    #0,d3
  999.     lea    mt_samples(PC),a1
  1000.     move.l    d2,d4
  1001.     asl.l    #2,d2
  1002.     mulu    #$1e,d4
  1003.     move.l    (a1,d2),4(a6)
  1004.     move.w    (a3,d4.l),8(a6)
  1005.     move.w    2(a3,d4.l),18(a6)
  1006.     move.w    4(a3,d4.l),d3
  1007.     tst.w    d3
  1008.     beq.s    mt_displace
  1009.     move.l    4(a6),d2
  1010.     add.l    d3,d2
  1011.     move.l    d2,4(a6)
  1012.     move.l    d2,10(a6)
  1013.     move.w    6(a3,d4.l),8(a6)
  1014.     move.w    6(a3,d4.l),14(a6)
  1015.     move.w    18(a6),8(a5)
  1016.     bra.s    mt_nosamplechange
  1017.  
  1018. mt_displace:
  1019.     move.l    4(a6),d2
  1020.     add.l    d3,d2
  1021.     move.l    d2,10(a6)
  1022.     move.w    6(a3,d4.l),14(a6)
  1023.     move.w    18(a6),8(a5)
  1024. mt_nosamplechange:
  1025.     move.w    (a6),d0
  1026.     and.w    #$fff,d0
  1027.     tst.w    d0
  1028.     beq.s    mt_retrout
  1029.     move.w    (a6),16(a6)
  1030.     move.w    20(a6),$dff096
  1031.     move.l    4(a6),(a5)
  1032.     move.w    8(a6),4(a5)
  1033.     move.w    (a6),d0
  1034.     and.w    #$fff,d0
  1035.     move.w    d0,6(a5)
  1036.     move.w    20(a6),d0
  1037.     or.w    d0,mt_dmacon
  1038.  
  1039. mt_retrout:
  1040.     tst.w    (a6)
  1041.     beq.s    mt_nonewper
  1042.     move.w    (a6),22(a6)
  1043.  
  1044. mt_nonewper:
  1045.     move.b    2(a6),d0
  1046.     and.b    #$0f,d0
  1047.     cmp.b    #$0b,d0
  1048.     beq.s    mt_posjmp
  1049.     cmp.b    #$0c,d0
  1050.     beq.s    mt_setvol
  1051.     cmp.b    #$0d,d0
  1052.     beq.s    mt_break
  1053.     cmp.b    #$0e,d0
  1054.     beq.s    mt_setfil
  1055.     cmp.b    #$0f,d0
  1056.     beq.s    mt_setspeed
  1057.     rts
  1058.  
  1059. mt_posjmp:
  1060.     not.w    mt_status
  1061.     moveq    #0,d0
  1062.     move.b    3(a6),d0
  1063.     subq.b    #1,d0
  1064.     move.l    d0,mt_partnrplay
  1065.     rts
  1066.  
  1067. mt_setvol:
  1068.     move.b    3(a6),8(a5)
  1069.     rts
  1070.  
  1071. mt_break:
  1072.     not.w    mt_status
  1073.     rts
  1074.  
  1075. mt_setfil:
  1076.     moveq    #0,d0
  1077.     move.b    3(a6),d0
  1078.     and.b    #1,d0
  1079.     rol.b    #1,d0
  1080.     and.b    #$fd,$bfe001
  1081.     or.b    d0,$bfe001
  1082.     rts
  1083.  
  1084. mt_setspeed:
  1085.     move.b    3(a6),d0
  1086.     and.b    #$0f,d0
  1087.     beq.s    mt_back
  1088.     clr.w    mt_counter
  1089.     move.b    d0,mt_cool+3
  1090. mt_back:rts
  1091.  
  1092. mt_aud1temp:
  1093.     dcb.w    10,0
  1094.     dc.w    1
  1095.     dcb.w    2,0
  1096. mt_aud2temp:
  1097.     dcb.w    10,0
  1098.     dc.w    2
  1099.     dcb.w    2,0
  1100. mt_aud3temp:
  1101.     dcb.w    10,0
  1102.     dc.w    4
  1103.     dcb.w    2,0
  1104. mt_aud4temp:
  1105.     dcb.w    10,0
  1106.     dc.w    8
  1107.     dcb.w    2,0
  1108.  
  1109. mt_partnote:    dc.l    0
  1110. mt_partnrplay:    dc.l    0
  1111. mt_counter:    dc.w    0
  1112. mt_partpoint:    dc.l    0
  1113. mt_samples:    dc.l    0
  1114. mt_sample1:    dcb.l    31,0
  1115. mt_maxpart:    dc.w    0
  1116. mt_dmacon:    dc.w    0
  1117. mt_status:    dc.w    0
  1118.  
  1119. mt_arpeggio:
  1120.     dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c
  1121.     dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d
  1122.     dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0
  1123.     dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097
  1124.     dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000
  1125.  
  1126. mt_data:    incbin    'df1:modules/mod.track'
  1127.  
  1128.